package zy.blue7.gui.netty.learn.http;

import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelPipeline;
import io.netty.channel.socket.SocketChannel;
import io.netty.handler.codec.http.HttpServerCodec;

/**
 * @author blue7
 * @version 1.0
 * @date 2022/2/25 16:59
 */
public class TestServerInitializer extends ChannelInitializer<SocketChannel> {


    @Override
    protected void initChannel(SocketChannel ch) throws Exception {

        /**
         * 向管道加入处理器
         */

        /**
         * 得到管道
         */
        ChannelPipeline pipeline = ch.pipeline();

        /**
         * 加入 一个netty 提供的httpserverCodec  codec ===》【coder -》decoder】
         *
         * HttpServerCodec 说明：
         * 1. HttpServerCodec 是 netty 提供的一个 处理 http 的编辑码器
         */
        pipeline.addLast("myHttpServerCodec", new HttpServerCodec());
        /**
         * 2. 添加一个自己的 自定义的 handler
         */
        pipeline.addLast("myTestHttpServerHandler", new TestHttpServerHandler());

    }
}
